package com.aaa.forum.dao;

import com.aaa.forum.model.History;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface HistoryMapper {
    int insert(History row);

    int insertSelective(History row);

    History selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(History row);

    int updateByPrimaryKey(History row);

    /**
     * 根据 用户id 和 帖子id 查询历史记录
     * @param userId        用户id
     * @param articleId     帖子id
     * @return              历史记录
     */
    History selectByUserIdAndArticleId(@Param("userId") Long userId, @Param("articleId") Long articleId);

    /**
     * 根据 用户id 查询用户未被删除的历史记录，按updateTime降序排序
     * @param userId    用户id
     * @return          历史记录集合
     */
    List<History> selectAllByUserId(@Param("userId") Long userId);


    /**
     * 根据帖子id，删除历史记录
     * @param articleId     帖子id
     */
    void deleteByArticleId(@Param("articleId") Long articleId);
}